#if !defined(ximera_config_platform_hpp)
#define ximera_config_platform_hpp

// -----------------------------------------------------------

#if !defined(WIN32) && defined(__WIN32__)
    #define WIN32
#endif

#if !defined(_WIN32_WCE) && defined(UNDER_CE)
    #define _WIN32_WCE
#endif

#if defined(_WIN32_WCE)
	#define XIMERA_POCKETPC

	#if (_WIN32_WCE >= 0x420) && (_WIN32_WCE < 0x500)
	    #define XIMERA_POCKETPC_420

        #if !defined(ARMV4)
        #define ARMV4
        #endif

	#elif (_WIN32_WCE >= 0x500)
	    #define XIMERA_POCKETPC_500

        #if !defined(ARMV4I)
        #define ARMV4I
        #endif

	#endif

#elif defined(WIN32)
    #define XIMERA_WIN32
    #define XIMERA_PLATFORM_NAME "win32"
    #define XIMERA_PLATFORM_NAME_W L"win32"
    #define XIMERA_LIBRARY_EXT L"dll"

#elif defined(_XBOX)
    #define XIMERA_XBOX_VER _XBOX_VER
    #define XIMERA_LIBRARY_EXT L"dll"

    #if XIMERA_XBOX_VER < 200
        #define XIMERA_XBOX
        #define XIMERA_PLATFORM_NAME "xbox"
        #define XIMERA_PLATFORM_NAME_W L"xbox"

    #elif XIMERA_XBOX_VER == 200
        #define XIMERA_XBOX_360
        #define XIMERA_PLATFORM_NAME "xbox360"
        #define XIMERA_PLATFORM_NAME_W L"xbox360"

    #endif

#elif defined(linux)
    #define XIMERA_LINUX
    #define XIMERA_PLATFORM_NAME "linux"
    #define XIMERA_PLATFORM_NAME_W L"linux"
    #define XIMERA_LIBRARY_EXT L"so"

#elif (defined(__PALMOS__) && (__PALMOS__ >= 0x06000000))
	#define XIMERA_PALMOS
    #define XIMERA_PLATFORM_NAME "palmos"
    #define XIMERA_PLATFORM_NAME_W L"palmos"

#endif


#if defined(XIMERA_WIN32)
    #define WIN32_LEAN_AND_MEAN

    #if !defined(UNICODE)
    #define UNICODE
    #endif

    #if !defined(NOMINMAX)
    #define NOMINMAX
    #endif
    
#endif

// -----------------------------------------------------------

#endif